package com.iwomy.secureplat.platform.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 单位资费配置详情
 *
 * @author pig
 * @date 2023-12-04 13:54:08
 */
@Data
@TableName("basic_expenses_dept_detail")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "单位资费配置详情")
public class BasicExpensesDeptDetailEntity extends Model<BasicExpensesDeptDetailEntity> {


	/**
	 * ID
	 */
	@TableId(type = IdType.ASSIGN_ID)
	@Schema(description="ID")
	private Long id;

	/**
	 * 单位id
	 */
	@Schema(description="单位id")
	private Long deptId;


	/**
	 * 配置方式(10配送；20代付)
	 */
	@Schema(description="配置方式(10配送；20代付)")
	private Integer deliveryMethod;

	/**
	 * 代付方式（10 语音和语音代付；20 短信代付；30 语音代付）
	 */
	@Schema(description="代付方式（10 语音和语音代付；20 短信代付；30 语音代付）")
	private Integer paymentType;

	/**
	 * 新增平台费年限
	 */
	@Schema(description="新增平台费年限")
	private Integer addPlatformFeeYears;

	/**
	 * 新增短信数（条）
	 */
	@Schema(description="新增短信数（条）")
	private Integer smsAddNum;

	/**
	 * 新增短信使用剩余数
	 */
	@Schema(description="新增短信使用剩余数")
	private Integer smsAddNumRemain;

	/**
	 * 新增语音数（分钟）
	 */
	@Schema(description="新增语音数（分钟）")
	private Integer ttsAddNum;

	/**
	 * 新增语音使用剩余数
	 */
	@Schema(description="新增语音使用剩余数")
	private Integer ttsAddNumRemain;

	/**
	 * 新增设备数（台）
	 */
	@Schema(description="新增设备数（台）")
	private Integer deviceAddNum;

	/**
	 * 新增设备使用剩余数
	 */
	@Schema(description="新增设备使用剩余数")
	private Integer deviceAddNumRemain;

	/**
	 * 平台费年限
	 */
	@Schema(description="平台费年限")
	private Integer platformFeeYears;

	/**
	 * 短信剩余（条）,无限制为 999999
	 */
	@Schema(description="短信剩余（条）,无限制为 999999")
	private Integer smsRemainNum;

	/**
	 * 语音剩余（分钟）无限制为 999999
	 */
	@Schema(description="语音剩余（分钟）无限制为 999999")
	private Integer ttsRemainNum;

	/**
	 * 设备剩余（台）
	 */
	@Schema(description="设备剩余（台）")
	private Integer deviceRemainNum;

	/**
	 * 平台到期时间
	 */
	@Schema(description="平台到期时间")
	private LocalDateTime platformExpireDate;

	/**
	 * 短信总限制
	 */
	@Schema(description="短信总限制")
	private Integer smsTotalLimit;

	/**
	 * 短信日限
	 */
	@Schema(description="短信日限")
	private Integer smsSumDay;

	/**
	 * 短信月限
	 */
	@Schema(description="短信月限")
	private Integer smsSumMonth;

	/**
	 * 短信日限剩余次数
	 */
	@Schema(description="短信日限剩余次数")
	private Integer smsSumDayRemain;

	/**
	 * 短信月限剩余次数
	 */
	@Schema(description="短信月限剩余次数")
	private Integer smsSumMonthRemain;

	/**
	 * 短信代付到期时间
	 */
	@Schema(description="短信代付到期时间")
	private LocalDateTime smsExpirationDate;

	/**
	 * 语音总限制
	 */
	@Schema(description="语音总限制")
	private Integer ttsTotalLimit;

	/**
	 * 语音日限
	 */
	@Schema(description="语音日限")
	private Integer ttsSumDay;

	/**
	 * 语音月限
	 */
	@Schema(description="语音月限")
	private Integer ttsSumMonth;

	/**
	 * 语音日限剩余次数
	 */
	@Schema(description="语音日限剩余次数")
	private Integer ttsSumDayRemain;

	/**
	 * 语音月限剩余次数
	 */
	@Schema(description="语音月限剩余次数")
	private Integer ttsSumMonthRemain;

	/**
	 * 语音代付到期时间
	 */
	@Schema(description="语音代付到期时间")
	private LocalDateTime ttsExpirationDate;

	/**
	 * 排序
	 */
	@Schema(description="排序")
	private Integer sort;

	/**
	 * 单位范围 10本级和所有子级，20仅本级
	 */
	@Schema(description="单位范围 10本级和所有子级，20仅本级")
	private Integer deptLimit;

	/**
	 * 创建人
	 */
	@TableField(fill = FieldFill.INSERT)
	@Schema(description="创建人")
	private String createBy;

	/**
	 * 创建时间
	 */
	@TableField(fill = FieldFill.INSERT)
	@Schema(description="创建时间")
	private LocalDateTime createTime;

	/**
	 * 修改人
	 */
	@TableField(fill = FieldFill.INSERT_UPDATE)
	@Schema(description="修改人")
	private String updateBy;

	/**
	 * 修改时间
	 */
	@TableField(fill = FieldFill.INSERT_UPDATE)
	@Schema(description="修改时间")
	private LocalDateTime updateTime;

	/**
	 * 是否被删除标记（0未删除；1已删除）
	 */
	@TableLogic
	@TableField(fill = FieldFill.INSERT)
	@Schema(description="是否被删除标记（0未删除；1已删除）")
	private String delFlag;

	/**
	 * 租户ID
	 */
	@Schema(description="租户ID")
	private Long tenantId;

}